home *** CD-ROM | disk | FTP | other *** search
- BindNames V1.0 by Dave Haynie
- BindNames V2.0 by Dan Barrett, barrett@cs.umass.edu
- BindNames V3.71 by Jan Rembser <JR>,
- rembser@informatik.uni-frankfurt.de
-
- This documentation file was written by Dave Haynie
- modified by Dan Barrett and Jan Rembser.
- So when you read "I", it means Dave. :-)
-
-
- BindNames is a rather simple hack I [Dave] came up with to solve the
- "Assign" problem. Like most folks with large hard disks containing lots
- of different programs, my Startup-Sequence was starting to get full of
- Assign statements. While that alone isn't necessarily enough to make
- most go out and write a program, I was starting to think of this as an
- inelegance. Nearly every other new program I installed onto my system
- needed a new set of logical names, and so for every new program I ended
- up having to edit my Startup-Sequence. I also had to pay attention to
- the ordering of Assignments, since obviously I couldn't base an
- assignment on one that hadn't been made yet. The end result was that
- the Startup Sequence was getting rather ugly, with no sign of change on
- the immediate horizon.
-
- Since problems should be solved by those who see them, I came up
- with BindNames. BindNames is designed to do all of the logical name
- assignments you need at once. It looks for any number of files in the
- directory "SYS:Names". The format of such files is something like this
- (to quote my "SYS:Names/System" file):
-
- BIN: SYS:bin
- OS: SYS:os
- C: BIN:c
- COM: BIN:Com
- L: OS:L
- FONTS: PATH:FD:Amiga,FD:PD,FD:PS,FD:Terms,FD:CityDesk
- FD: OS:Fonts
- S: OS:s
- DEVS: OS:Devs
- LIBS: OS:Libs
- ENV: RAM:Env
- T: RAM:T
-
- rexx: sys:s,sys:rexx#,adpro:rexx <JR>
-
- [Note that the strange-looking "FONTS:" directory assign, above,
- works only if you are using the commercial product WShell 2.0.]
-
- <JR>[Note the # after sys:rexx means this part will be the first path (not
- sys:s) of a multiple assign. So this becomes the part which is shown by
- standard 'c:dir <path>'. If in various names-files several paths appear
- for the same assign and are marked with a #, the last one found is used as
- first path.]
-
- BindNames will read all name files before making any
- assignments, and it can figure out dependencies, so it doesn't matter
- how you order the names. It will create directories that it can't find,
- such as RAM:Env and RAM:T in the above example, and it will generate
- warnings for name assignments that it can't resolve.
-
- <JR> [Adding for multiple assigns is now supported.
- BindNames V3.71 handles now "formatted" names-files, it means:
-
- test: dh0:bla/foo , dh1:testing/src
- ^^^^^ ^^ ^^ ^^^
- tabs spaces spaces
-
- Please don't mix tabs and spaces, tabs only between assign and first path.]
-
- It also accepts several options, of the form:
-
- BindNames [[V]VERBOSE] [TEST] [NOADD] [DIR <namesdir>] [SYSTEM drive]
-
- The SYSTEM device option causes BindNames to re-assign the SYS:
- name to the given device before searching for SYS:Names. For example,
- my main system disk is called FH0:, but I boot from DH2: (sure sounds
- like A2090A madness to me too, but what can I say), so my
- Startup-Sequence says "BindNames >NIL: SYSTEM fh0:".
-
- The VERBOSE switch causes BindNames to list each name and
- equivalence as it runs. The TEST switch does the same thing, but doesn't
- actually make the name assignments.
-
- <JR> [In VVERBOSE mode BindNames does very extensive output of the
- changing tree, during work.
-
- Since V2.0 BindNames
- - doesn't capitalizes all volume names and path names when it does
- the assigns,
- - lets you separate the volume name from the path name (in the name
- files) using tabs only: spaces are considered part of the volume/
- path name. BindNames V1.0 was limited in that it could not handle
- volume/path names that contain spaces, like
-
- My Assign: My Path
-
- Note that all trailing spaces are ignored. That is, if
- you accidentally type extra spaces at the end of your
- volume or path name, they are ignored.
-
- - lets you specify the names directory using the command line option
- DIR <namesdir> or the environment variable "BindNamesDirectory".
- So your user-startup file might contain:
-
- BindNames DIR s:Names
-
- or
-
- SetEnv BindNamesDirectory MyDisk:BindDir
- BindNames
-
- If the variable "BindNamesDirectory" is not set and the DIR option is
- not used, BindNames looks in SYS:Names as usual.
-
- The NOADD switch, causes BindNames V3.71 to assign only the last
- found path for a assign like BindNames V1.0.
-
- Using BindNames, I've managed to get every single "Assign"
- command out of my Startup-Sequence. And if I need to add a series of
- assignments for a new program, I can just create a SYS:Names file for
- that program. That makes installing the program much easier, and also
- keeps all the logical names for a particular program in an obvious
- location, which makes modifying the system setup much simpler in the
- future.
-
- BindNames is public domain, do with as you please.
-
-
- -Dave Haynie
- 3/14/89
-
-
- I have not done very much with BindNames to update it to use
- features of the more recent versions of AmigaDOS; for example, "Assign ADD".
- But it works with every version of AmigaDOS from 1.3 on up.
-
- -Dan Barrett
- 6/1/94
- Thanks, Dave!!!
-
-
- The only thing I missed in Bindnames was "Assign ADD". So I decide to
- implement it. First I had to understand how BindNames work. As my first
- experience in programming lists, it was not so easy to understand :-)
- But it seems it works now.
- I include my names-files and a log file which shows how BindNames worked
- with these files. The ExampleA.log shows the resulting assigns.
- With NOADD option it works already with AmigaDOS 1.3.
- Without NOADD it needs at minimum 2.04.
-
-
- Changes for 3.71:
- -----------------
- Sorry! Little bug in printing unresolved assigns. BindNames prints the whole
- RESOLVED!! list again, fixed!
-
- Improved resolving
-
- NEW FEATURE: AUTOMOUNT
- For unresolved volumes BindNames tries to mount it. If failed => unresolved.
- It's useful for users, which uses a resident RAM: Disk. The startup-sequence
- looks like following:
-
- ;startup-piece
- ...
- assign RAM: dismount
- c:BindNames
-
- The older versions of BindNames couldn't resolve 'T: RAM:t', etc.
- From now on BindNames tries a 'mount RAM:' after doing all other assigns,
- so DOSDRIVERS:, etc. are already assigned, when mounting.
-
- NEW FEATURE: COMMENTS
- If first character in a line in names-file is a ';' the whole line is ignored.
- Could be used for temporary not used assigns, like:
-
- ;HistoryLine: dh0:games
-
- -Jan Rembser
- 18.8.94
- Thanks, Dave and Dan!
-